操作符| |和|有什么区别啊在c++

来源:百度知道 编辑:UC知道 时间:2024/07/06 21:54:36

|| 是布尔逻辑或测试
| 是按位或

写个简单的 测试例子

short int a = 0xfb; // 二进制位 11111011 十进制 251
short int b = 0x04; // 二进制位 00000100 十进制 4

short int c = a || c; // c的值是1;因为逻辑运算的结果非0即1
short int d = a | c; // d的值为0xff(二进制11111111),十进制255

||是逻辑或,返回的是一个逻辑真假值 。
|是位或,是用来做位运算的

|| 是逻辑运算符,逻辑或
| 是位运算符,二进制或

真 || 真 结果是 真
真 || 假 结果是 真
假 || 真 结果是 真
假 || 假 结果是 假

1 | 1 结果是 1
1 | 0 结果是 1
0 | 1 结果是 1
0 | 0 结果是 0

运算符优先级 | 高于 ||